package com.lcy;



import android.app.ListActivity;
import android.content.Intent;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteException;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.AdapterView;
import android.widget.Button;
import android.widget.ListView;
import android.widget.SimpleCursorAdapter;
import android.widget.Spinner;
import android.widget.Toast;
import android.widget.AdapterView.OnItemSelectedListener;

public class CardInfoSearch extends ListActivity implements OnClickListener {
	
	private DBManager dbmgr;
	private SQLiteDatabase sdb; //데이타 베이스를 연결해서 읽어오겠다.
	private Cursor cursor;
	private Cursor cSpin;	
	private SimpleCursorAdapter adapter;		
	private SimpleCursorAdapter sp_adapter;
	private String str_card_nm = ""; 
	
	public void onCreate(Bundle savedInstanceState){
		super.onCreate(savedInstanceState);
		setContentView(R.layout.search_form);
		this.initDB();	//DB를 초기화 한다.
		
			
		Button main_btn = (Button)findViewById(R.id.button_main);
		main_btn.setOnClickListener(this);
		
		Button search_btn = (Button)findViewById(R.id.button_search);
		search_btn.setOnClickListener(this);
		
		//카드사 입력란 카드사 세팅
		Spinner spin = (Spinner)findViewById(R.id.search_card_name);
		spin.setPrompt("카드사를 선택하세요");
		cSpin = sdb.rawQuery("select _id,sub_cd,sub_nm from COMMON_CODE", null);
		
		cSpin.moveToFirst();
		String[] fromcr = new String[]{"sub_nm","sub_cd"};
		int[] tocr = new int[]{android.R.id.text1,android.R.id.text2};        		
    	sp_adapter = new SimpleCursorAdapter(
    			this, 
				android.R.layout.simple_spinner_item, 
				cSpin, 
				fromcr, 
				tocr 
		);
    	spin.setAdapter(sp_adapter);
    	
    	spin.setOnItemSelectedListener(new OnItemSelectedListener() {

			@Override
			public void onItemSelected(AdapterView<?> parent, View view,
					int position, long id) {
				// TODO Auto-generated method stub
				Cursor c;
				c = (Cursor)sp_adapter.getItem(position);		//현재 posion의 Object를 가져온다.
				str_card_nm = c.getString(1);				//커서의 값을 가져온다.
				
				//String mes;
				//mes = "Select Item = " + c.getString(1);	//커서의 값을 가져온다.				
				//Toast.makeText(CardInfoCreate.this, mes, Toast.LENGTH_SHORT).show();
				
			}

			@Override
			public void onNothingSelected(AdapterView<?> arg0) {
				// TODO Auto-generated method stub
				
			}
    		
		});
		
		/*
		//데이타를 담을 ArrayList
		ArrayList<String> arGeneral = new ArrayList<String>();
		//어댑터 준비
		ArrayAdapter<String> Adapter;
		ListAdapter listAdpter;
		*/
		
	   //	int i = 0;  //화면에 나타나는 회원등록 정보 수(데이터의 갯수)
        
        try{
                	
        	//쿼리(SQL문) 실행 결과를 Cursor 클래스 로 넘긴다. (항상해야함 순서임.) 커서는 한행씩 데이타를 가져옴
        	cursor = sdb.rawQuery("select _id, pur_name,card_name from card_info", null);
        	// month_cnt_tot, amount, firstduedt, card_name, balance, month_cnt_re, charge_per, expir_date
        	/*
        	//cursor 객체를 이용하여 테이블로부터 한 행씩 이동하면서 화면에 출력 
        	while(cursor.moveToNext()){
        		String pur_name = cursor.getString(0);//첫번째 행
        		String month_cnt_tot = cursor.getString(1);
        		String amount = cursor.getString(2);
        		String firstduedt = cursor.getString(3);
        		String card_name = cursor.getString(4);
        		String balance = cursor.getString(5);
        		String month_cnt_re = cursor.getString(6);
        		String charge_per = cursor.getString(7);
        		String expir_date = cursor.getString(8);
        		
        		//ArrayList에 데이터를 추가
        		arGeneral.add(pur_name+"|"+card_name);
        		    		      		
        		i++;
        	}
        	*/
        	cursor.moveToFirst();
    		String[] from = new String[]{"pur_name","card_name"};	//View에 보여지는 리스트 항목 (품목과,카드명)
    		int[] to = new int[]{R.id.ls_pur,R.id.ls_cardnm};        		
        	adapter = new SimpleCursorAdapter(
        			this, 
					R.layout.search_list_item, 
					cursor, 
					from, 
					to 
			);
        	
        	
        	setListAdapter(adapter);	//ListActivity에 adapter를 세팅한다.
        	
        	//순서임.
        	//cursor.close();
        	dbmgr.close();
        	
        }catch(SQLiteException e){
        //	list_vw.append("DB에러입니당~");
        }        
        
	}
	
	@Override
	public void onListItemClick(ListView ls, View v, int pos, long id){
		super.onListItemClick(ls, v, pos, id);
		Cursor c;
		c = (Cursor)adapter.getItem(pos);			//현재 posion의 Object를 가져온다.
		
//		String mes;
//		mes = "Select Item = " + c.getString(0);	//커서의 값을 가져온다.
//		Toast.makeText(this, mes, Toast.LENGTH_SHORT).show();
		
		Intent it = new Intent(CardInfoSearch.this, CardInfoDetail.class);
		it.putExtra("seqNo", c.getString(0));		//호출하는 Activity에 파라미터 전달.
		startActivityForResult(it, 1);
		
		c.close();

	}
	
	@Override
	public void onClick(View v) {
		// TODO Auto-generated method stub
		if(v.getId() == R.id.button_main){
			Intent it = new Intent(this, Lcy10Activity.class);
			startActivity(it);
			finish();			
		}
		
	}
	
	//DB 초기화 및 생성 
	public void initDB(){
		dbmgr = new DBManager(this);		
		sdb = dbmgr.getWritableDatabase();
	}
	

}
